Esta guía proporciona una serie de gráficos para realizar un Análisis Exploratorio de Datos (EDA) en diferentes niveles:
Análisis Unidimensional: Distribución de una sola variable.
Análisis Multivariado: Relación entre dos o más variables.
Visualización con ggplot2 para
explorar patrones en los datos.
Esta guía te ayudará a seleccionar el gráfico más adecuado según el tipo de variable analizada.
# 📌 Cargar librerías necesarias
library(here) # Manejo de rutas dinámicas
library(janitor) # Limpieza de nombres de columnas
library(summarytools) # Resumen estadístico detallado
library(ggplot2) # Gráficos
library(dplyr) # Manipulación de datos
library(plotly) # Gŕaficos Interactivos
# 📌 Configuración de gráficos globales
theme_set(theme_minimal())
source(here("reportes/Proy_Oral_Cancer_Prediction/00_CONFIGURACION.r"))
# 📌 Cargar scripts de preprocesamiento
source(here("scripts/utils.r"))
source(here("scripts/1_preprocesamiento_esp_dataset.r"))
source(here("scripts/2_analisis_gráfico.r"))
# 📌 Cargar y preprocesar el dataset
dataset_oral_cancer <- preprocesar_datos(here("datasets/oral_cancer_data_limpio.csv"), "Oral Cancer")
## 📥 Cargando datos del proyecto: Oral Cancer
## 🧹 Realizando limpieza de datos...
## 📊 Aplicando preprocesamiento específico para Oral Cancer...
## ✅ Preprocesamiento completado para: Oral Cancer
📌 ¿Qué hace esta función?
✔ Limpia los nombres de las columnas.
✔ Convierte variables categóricas en factores.
✔ Filtra valores inválidos.
✔ Retorna un dataset listo para análisis.
El análisis unidimensional permite estudiar la distribución de una sola variable.
📌 Útil para: Detectar valores atípicos y distribución de datos.
# Crear el boxplot usando la función crear_boxplot
p_boxplot_edad <- crear_boxplot(data = dataset_oral_cancer, y = "age",
title = "Distribución de la Edad de los Pacientes",
xlab = "Pacientes", ylab = "Edad",
colores = "lightblue", rotar_x = FALSE)
# Guardar la imagen en la carpeta usando here()
guardar_grafico(p_boxplot_edad, here("reportes/Proy_Oral_Cancer_Prediction/resultados_generados/boxplot_edad.png"))
# Convertir a gráfico interactivo
p_boxplot_edad_interactivo <- convertir_interactivo(p_boxplot_edad)
p_boxplot_edad_interactivo
📌 Útil para: Observar la distribución de frecuencia de una variable numérica.
# Crear el histograma usando la función crear_histograma
p_histograma_edad <- crear_histograma(data = dataset_oral_cancer, x = "age",
title = "Distribución de Edad de los Pacientes",
xlab = "Edad", ylab = "Frecuencia",
binwidth = 5, colores = "lightblue", densidad = TRUE)
# Guardar la imagen en la carpeta usando here()
guardar_grafico(p_histograma_edad, here("reportes/Proy_Oral_Cancer_Prediction/resultados_generados/histograma_edad.png"))
# Convertir a gráfico interactivo
p_histograma_edad_interactivo <- convertir_interactivo(p_histograma_edad)
p_histograma_edad_interactivo
# Definir colores personalizados para género
colores_genero <- c("Male" = "blue", "Female" = "red")
# Crear el histograma usando la función crear_histograma
p_histograma_edad_genero <- crear_histograma(data = dataset_oral_cancer, x = "age", fill = "gender",
title = "Histograma de Edad por Género",
xlab = "Edad", ylab = "Frecuencia",
binwidth = 1, colores = colores_genero)
# Guardar la imagen en la carpeta usando here()
guardar_grafico(p_histograma_edad_genero, here("reportes/Proy_Oral_Cancer_Prediction/resultados_generados/histograma_edad_genero.png"))
# Convertir a gráfico interactivo
p_histograma_edad_genero_interactivo <- convertir_interactivo(p_histograma_edad_genero)
p_histograma_edad_genero_interactivo
📌 Útil para: Mostrar la frecuencia de categorías en una variable cualitativa.
# Crear el barplot usando la función crear_barplot
p_barplot_genero <- crear_barplot(data = dataset_oral_cancer, x = "gender", fill = "gender",
title = "Distribución de Género",
xlab = "Género", ylab = "Frecuencia",
colores = c("Male" = "cyan", "Female" = "pink"))
# Guardar la imagen en la carpeta usando here()
guardar_grafico(p_barplot_genero, here("reportes/Proy_Oral_Cancer_Prediction/resultados_generados/barplot_genero.png"))
# Convertir a gráfico interactivo
p_barplot_genero_interactivo <- convertir_interactivo(p_barplot_genero)
p_barplot_genero_interactivo
# Crear el barplot cruzado usando la función crear_barplot
p_barplot_tabaco_genero <- crear_barplot(data = dataset_oral_cancer, x = "gender", fill = "tobacco_use",
title = "Consumo de Tabaco por Género",
xlab = "Género", ylab = "Frecuencia",
colores = c("Yes" = "cyan", "No" = "green"), dodge = TRUE)
# Guardar la imagen en la carpeta usando here()
guardar_grafico(p_barplot_tabaco_genero, here("reportes/Proy_Oral_Cancer_Prediction/resultados_generados/barplot_tabaco_genero.png"))
# Convertir a gráfico interactivo
p_barplot_tabaco_genero_interactivo <- convertir_interactivo(p_barplot_tabaco_genero)
p_barplot_tabaco_genero_interactivo
# Crear gráfico de barras para Country usando la función crear_barplot
p_country <- crear_barplot(data = dataset_oral_cancer, x = "country", fill = "country",
title = "Distribución de Pacientes por País",
xlab = "País", ylab = "Frecuencia",
colores = NULL, voltear = TRUE, legend_position = "none")
# Guardar la imagen usando la función guardar_grafico
guardar_grafico(p_country, here("reportes/Proy_Oral_Cancer_Prediction/resultados_generados/barplot_country.png"), ancho = 8, alto = 6)
# Convertir a gráfico interactivo usando la función convertir_interactivo
p_country_interactivo <- convertir_interactivo(p_country)
p_country_interactivo
El análisis multivariado permite explorar relaciones entre dos o más variables.
📌 Útil para: Comparar la frecuencia de categorías en dos variables cualitativas.
# Crear el barplot cruzado usando la función crear_barplot
p_barplot_tabaco_pais <- crear_barplot(data = dataset_oral_cancer, x = "country", fill = "tobacco_use",
title = "Consumo de Tabaco por País",
xlab = "Género", ylab = "Frecuencia",
colores = c("Yes" = "cyan", "No" = "green"), dodge = TRUE)
# Rotar las etiquetas del eje X
p_barplot_tabaco_pais <- p_barplot_tabaco_pais +
theme(axis.text.x = element_text(angle = 45, hjust = 1)) # Rotar 45 grados y ajustar alineación
# Guardar la imagen en la carpeta usando here()
guardar_grafico(p_barplot_tabaco_genero, here("reportes/Proy_Oral_Cancer_Prediction/resultados_generados/barplot_tabaco_pais.png"))
# Convertir a gráfico interactivo
p_barplot_tabaco_pais_interactivo <- convertir_interactivo(p_barplot_tabaco_pais)
p_barplot_tabaco_pais_interactivo
# Definir colores personalizados para etapa de cáncer
etapa_cancer <- c("0" = "darkorange", "1" = "dodgerblue", "2" = "cyan", "3" = "blue", "4" = "black")
# Crear el boxplot usando la función crear_boxplot
p_boxplot_tumor_etapa <- crear_boxplot(data = dataset_oral_cancer, x = "cancer_stage", y = "tumor_size_cm", fill = "cancer_stage",
title = "Distribución del Tamaño del Tumor por Etapa del Cáncer",
xlab = "Etapa del Cáncer", ylab = "Tamaño del Tumor (cm)",
colores = etapa_cancer)
# Guardar la imagen en la carpeta usando here()
guardar_grafico(p_boxplot_tumor_etapa, here("reportes/Proy_Oral_Cancer_Prediction/resultados_generados/boxplot_tumor_etapa.png"))
# Convertir a gráfico interactivo
p_boxplot_tumor_etapa_interactivo <- convertir_interactivo(p_boxplot_tumor_etapa)
p_boxplot_tumor_etapa_interactivo
📌 Útil para: Comparar la distribución de una variable numérica en función de una variable categórica.
# Crear el scatterplot usando la función crear_scatterplot
p_scatter_edad_tumor <- crear_scatterplot(data = dataset_oral_cancer, x = "age", y = "tumor_size_cm",
title = "Relación entre Edad y Tamaño del Tumor",
xlab = "Edad", ylab = "Tamaño del Tumor (cm)",
colores = "steelblue")
# Guardar la imagen en la carpeta usando here()
guardar_grafico(p_scatter_edad_tumor, here("reportes/Proy_Oral_Cancer_Prediction/resultados_generados/scatter_edad_tumor.png"))
# Convertir a gráfico interactivo
p_scatter_edad_tumor_interactivo <- convertir_interactivo(p_scatter_edad_tumor)
p_scatter_edad_tumor_interactivo
📌 Útil para: Identificar tendencias y relaciones entre dos variables numéricas.
Esta guía ha mostrado cómo aplicar distintos tipos de gráficos según el tipo de análisis deseado:
✅ Análisis Unidimensional: Estudio de una sola
variable. ✅ Análisis Multivariado: Exploración de
relaciones entre variables. ✅ Visualización con
ggplot2 para obtener insights del dataset.